# 序列：连续、有序、 支持下标索引的数据容器，如，列表、元组、字符串
# 语法：序列[起始索引:结束索引:步长] （不包含结束索引的元素，相当于[起始,结束)）
#   起始索引可以省略，表示从头开始
#   结束索引可以省略，表示到尾结束
#   步长可以省略，默认为1，可以为负数，表示倒序执行（起始索引和结束索引也要反向标记）

# 对list进行切片，从1开始，到4结束，步长为1
my_list = [0, 1, 2, 3, 4, 5, 6]
result1 = my_list[1:4]
print(f"result1:{result1}")

# 对tuple进行切片，从头开始，到最后结束，步长1
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result2 = my_tuple[:]
print(f"result2:{result2}")

# 对str进行切片，从头开始，到最后结束，步长2
my_str = "0123456789"
result3 = my_str[::2]
print(f"result3:{result3}")

# 对str进行切片，从头开始，到最后结束，步长-1
my_str = "0123456789"
result4 = my_str[::-1]  # 相当于取反
print(f"result4:{result4}")

# 对列表进行切片，从3开始，到1结束，步长-1
my_str = "0123456789"
result5 = my_str[3:1:-1]
print(f"result5:{result5}")

# 对元组进行切片，从头开始，到尾结束，步长-2
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result6 = my_tuple[::-2]
print(f"result6:{result6}")